Computer telephony integration, also called Computer-Telephone Integration (CTI), is technology that allows interactions on a telephone and a computer to be integrated or coordinated. As contact channels have expanded from voice to include email, web, and fax, the definition of CTI has expanded to include the integration of all customer contact channels (voice, email, web, fax, etc.) with computer systems.
Traditional CTI systems provide a very useful logical call model and control mechanism, but they have several important shortcomings. As one example, existing CTI systems are typically tied to a specific Private Branch eXchange (PBX) and are, therefore, constrained by the domain of users/endpoints that PBX is responsible for. It is also difficult to design a geo-redundant solution due to the tight binding of the CTI system to a PBX. It is also difficult to achieve large scale solutions (e.g., support thousands of communication endpoints/users) with a single PBX. Furthermore, if multiple PBXs are networked together for scale or geographic distribution, it is difficult to construct a complete model of a call spanning multiple PBXs. Still further, very few if any CTI systems provide innate media control mechanisms. Most require an application media endpoint to be explicitly added to a call as a third party. Finally, in terms of high availability, most CTI systems are limited by the availability that is provided by the PBX.